extern使用方法总结! |
您所在的位置:网站首页 › extern c++ › extern使用方法总结! |
一、问题 Extern的问题在于不知道这个关键词出现的时候到底是声明还是定义?
二、详解 1、函数的声明extern关键词是可有可无的,因为函数本身不加修饰的话就是extern。但是引用的时候一样需要声明的。 2、全局变量在外部使用声明时,extern关键字是必须的,如果变量没有extern修饰且没有显式的初始化,同样成为变量的定义,因此此时必须加extern,而编译器在此标记存储空间在执行时加载内并初始化为0。而局部变量的声明不能有extern的修饰,且局部变量在运行时才在堆栈部分分配内存。 3、全局变量或函数本质上讲没有区别,函数名是指向函数二进制块开头处的指针。而全局变量是在函数外部声明的变量。函数名也在函数外,因此函数也是全局的。 4、谨记:声明可以多次,定义只能一次。 5、extern int i; //声明,不是定义 int i; //声明,也是定义
三、示例 1、代码 /* test.c */ #include int etn = 100; void layout() { printf("test.c: The etn is %d\n", etn); } /* main.c */ #include extern int etn; int main() { layout(); printf("main.c: The etn is %d\n", etn); return 0; }2、运行结果
参考 1、extern使用方法总结! 2、C--变量的作用域、存储方式与生命周期
|
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |